import {getAuthor} from '@/utils/author.js'
export const useRouterInterceptor = () => {
	const whiteList = [
	  '/', // 注意入口页必须直接写 '/'
	  '/pages/login/login',
	  '/pages/home/home',
	  '/',
	  '/pages/detail/detail'
	]
	const arr = ['switchTab','navigateTo','redirectTo']
	arr.forEach(item=>{
		uni.addInterceptor(item, {
			invoke(args) {
				// 1. 白名单直接放行
				// 获取要跳转的页面路径（url去掉"?"和"?"后的参数）
				let url = args.url
				if(url && url.indexOf('?') !== -1){
					url = args.url.split('?')[0]
				}
				
				let pass = whiteList.some((item) => url === item)
				if(pass) return args
				// 2. 统一登录身份认证
				// 2.1 获取登录保存的token，如果存在放行，不存在跳转到登录界面
				let token = getAuthor()
				if(!token) {
					uni.showToast({
					  title: '请先登录',
					})
					uni.navigateTo({
					  url: "/pages/login/login"
					})
					return false
				}
				console.log('跳转前执行 ', args);
				return args
			},
			success(args) {
				console.log('跳转成功后 ', args);
			},
			fail(err) {
				console.log('interceptor-fail', err)
			},
			complete(res) {
				console.log('interceptor-complete', res)
			}
		})
	})
	
}

export const useRequestInterceptor = ()=>{
	uni.addInterceptor('request', {
		invoke(args) {
			console.log('请求发起前执行 ', args);
		},
		// success(args) {
		// 	console.log('响应成功后 ', args);
		// },
		// fail(err) {
		// 	console.log('interceptor-fail', err)
		// },
		// complete(res) {
		// 	console.log('interceptor-complete', res)
		// }
	})
}
